<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/BasicTemplate.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Rewired Documentation | Controller Maps</title>
<!-- InstanceEndEditable -->
<!-- InstanceParam name="isRoot" type="boolean" value="false" -->
<!-- InstanceParam name="wide" type="boolean" value="false" -->
<link href="files/css/styles.css" rel="stylesheet" type="text/css" />
<!-- Favicons -->
<link rel="icon" type="image/x-icon" href="/projects/rewired/files/images/favicon.ico?v=1" />
<!-- Apple Icons -->
<!-- For iPad with high-resolution Retina display running iOS = 7: -->
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="files/images/favicon_152x152.png?v=1">
<!-- For iPad with high-resolution Retina display running iOS = 6: -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="files/images/favicon_144x144.png?v=1">
<!-- For iPhone with high-resolution Retina display running iOS = 7: -->
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="files/images/favicon_120x120.png?v=1">
<!-- For iPhone with high-resolution Retina display running iOS = 6: -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="files/images/favicon_114x114.png?v=1">
<!-- For the iPad mini and the first- and second-generation iPad on iOS = 7: -->
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="files/images/favicon_76x76.png?v=1">
<!-- For the iPad mini and the first- and second-generation iPad on iOS = 6: -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="files/images/favicon_72x72.png?v=1">
<!-- For non-Retina iPhone, iPod Touch, and Android 2.1+ devices: -->
<link rel="apple-touch-icon-precomposed" href="files/images/favicon_57x57.png?v=1">
</head>

<body>


<div class="container">

    <div class="google-search-bar">
        <script>
          (function() {
            var cx = '007961148920562332911:oocvtwz5jce';
            var gcse = document.createElement('script');
            gcse.type = 'text/javascript';
            gcse.async = true;
            gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
            var s = document.getElementsByTagName('script')[0];
            s.parentNode.insertBefore(gcse, s);
          })();
        </script>
        <gcse:search></gcse:search>
    </div>

  <div class="content">
	
	
	 
    <div class="page-body">
	
    
         
	    
      	<div class="sidebar-nav">
	        <h4><a href="Documentation.html">Documentation</a></h4>
	        <ul>
	          <li><a href="Overview.html">Overview</a></li>
	          <li><a href="ReleaseNotes.txt">Release Notes</a></li>
          </ul>
	        <strong>Essentials:</strong>
            <ol>
              <li><a href="Installation.html">Installation</a></li>
              <li><a href="QuickStart.html">Quick Start</a></li>
              <li><a href="BasicUsage.html">Basic Usage</a></li>
              <li><a href="Deployment.html">Deployment</a></li>
              <li><a href="BestPractices.html">Best Practices</a></li>
              <li><a href="RewiredEditor.html">Rewired Editor</a></li>
              <li><a href="https://guavaman.com/projects/rewired/docs/api-reference" target="_blank">API Reference</a></li>
            </ol>
            <strong>Concepts:</strong>
            <ul>
              <li><a href="InputManager.html">Input Manager</a></li>
              <li><a href="Players.html">Players</a></li>
              <li><a href="Actions.html">Actions</a></li>
              <li><a href="InputBehaviors.html">Input Behaviors</a></li>
              <li><a href="Controllers.html">Controllers</a></li>
              <li><a href="ControllerMaps.html">Controller Maps</a></li>
              <li><a href="ControllerTemplates.html">Controller Templates</a></li>
              <li><a href="MapCategories.html">Map Categories</a></li>
              <li><a href="Layouts.html">Layouts</a></li>
              <li><a href="LayoutManager.html">Layout Manager</a></li>
              <li><a href="MapEnabler.html">Map Enabler</a></li>
              <li><a href="CustomControllers.html">Custom Controllers</a></li>
            </ul>
            <strong>Extras:</strong>
            <ul>
              <li><a href="ControlMapper.html" title="Control Mapper">Control Mapper</a></li>
	          <li><a href="TouchControls.html" title="Touch Controls">Touch Controls</a></li>
              <li><a href="RewiredStandaloneInputModule.html">Rewired Standalone Input Module</a></li>
	          <li><a href="UnityInputOverride.html" title="Unity Input Override">Unity Input Override</a></li>
            </ul>
            <strong>Misc:</strong>
            <ul>
	          <li><a href="ComponentControls.html" title="Component Controls">Component Controls</a></li>
	          <li><a href="PlayerControllers.html" title="Player Controllers">Player Controllers</a></li>
	          <li><a href="InputMapper.html" title="Input Mapper">Input Mapper</a></li>
	          <li><a href="UserDataStore.html" title="User Data Store">User Data Store</a></li>
            </ul>
            <strong>How To's:</strong>
            <ul>
            	<li><a href="HowTos.html">See all topics...</a></li>
            </ul>
            <strong>Help:</strong>
            <ul>
              <li><a href="SupportedControllers.html" title="Supported Controllers">Supported Controllers</a></li>
              <li><a href="Overview.html#tested-platforms" title="Tested Platforms">Tested Platforms</a></li>
              <li><a href="Troubleshooting.html" title="Troubleshooting">Troubleshooting</a></li>
              <li><a href="KnownIssues.html">Known Issues</a></li>
              <li><a href="SpecialPlatformSupport.html" title="Special Platform Support">Special Platform Support</a></li>
	          <li><a href="Examples.html" title="Examples">Examples</a></li>
              <li><a href="Integration.html">Integrations</a></li>
	          <li><a href="Updating.html" title="Updating Rewired">Updating Rewired</a></li>
            </ul>
            <strong>FAQ</strong>
            <ul>
            	<li><a href="FAQ.html">See all topics...</a></li>
            </ul>
            <strong>Unity Help:</strong>
            <ul>
              <li><a href="https://docs.unity3d.com/Manual/" target="_blank">Unity Manual</a></li>
              <li><a href="https://docs.unity3d.com/ScriptReference/" target="_blank">Unity Script Reference</a></li>
              <li><a href="https://unity3d.com/learn/tutorials/modules" target="_blank">Unity Tutorials</a></li>
            </ul>
            <strong>Links:</strong>
            <ul>
              <li><a href="https://guavaman.com/projects/rewired">Rewired Website</a></li>
              <li><a href="https://guavaman.com/projects/rewired/docs">Web Documentation</a></li>
            </ul>
        </div>
        
    
    	<div class="main-body">
	        <div class="logo"><a href="https://guavaman.com/projects/rewired" title="Rewired"><img src="files/images/rewired-logo.png" width="173" height="139" alt="Rewired" /></a></div>
                     
            <h1>
            <!-- InstanceBeginEditable name="PageHeader" -->Controller Maps
      <!-- InstanceEndEditable -->
            </h1>
            
			<!-- InstanceBeginEditable name="MainBody" -->
    <p>One of the most unique and powerful features of Rewired is the Controller Map system. </p>
    <p>A Controller Map is a  map  of bindings between Controller elements and <a href="Actions.html">Actions</a> for a single Controller.</p>
    <p> Controller Maps are owned by the <a href="Players.html">Player</a>, not the Controller, so changes you make to one Player's maps don't affect the other Players' even if they're using the same Controller.  Each Controller assigned to a Player must have its own Controller Maps with bindings defined for Action-based input to function.</p>
    <p>You can create pre-defined Controller Map configurations for known controller types and controller templates and load the maps at runtime or when a compatible Joystick is assigned. Pre-defined maps for controllers are created in the <a href="RewiredEditor.html">Rewired Editor.</a> For more information about how to create maps, see <a href="#creating-and-editing-controller-maps">Creating and Editing Controller Maps</a>.</p>
    <p>If you create a user control assignment screen, the user can customize his Controller Maps for any joystick or controller. (See <a href="HowTos.html#controller-mapping-screen">Creating a Controller Mapping screen</a> for information.)</p>
    <p>Maps co-exist so you can have as many maps for each controller as you need. For example: If you have multiple game modes such as Infantry, Tank, Airplane, you can have shared controls on one map, and mode-specific controls each on its own map. You can have even more maps as needed: A Menu map for when you're in the menus, a system map for controls like Save/Load and Quit, multiple maps for different players on the keyboard, etc. All the maps can co-exist simultaneously and can be <a href="HowTos.html#enabling-disabling-controller-maps">enabled or disabled as needed</a>, for example, when changing game modes.</p>
<p>A shared controller (the keyboard for example) can be mapped by any number of Players with any number of maps.</p>
<p>Maps can be saved to XML or JSON. (See <a href="HowTos.html#saving-loading-controller-maps">Saving and loading Controller Maps</a> for more information.)</p>
<p>Each Controller Map belongs to one <a href="MapCategories.html">Map Category</a> and one <a href="Layouts.html">Layout</a>. The combination of the two serves to identify the Controller Map when selecting a Controller Map in the Rewired Editor or from the API.</p>
<p><strong><a name="creating-and-editing-controller-maps" id="creating-and-editing-controller-maps"></a>Creating and Editing Controller Maps:</strong></p>
<p>Controller Maps are created and edited in the <a href="RewiredEditor.html">Rewired Editor</a>.</p>
    <p><a href="RewiredEditor.html#JoystickMaps">Rewired Editor - Joystick Maps</a><br />
      <a href="RewiredEditor.html#KeyboardMaps">Rewired Editor - Keyboard Maps</a><br />
    <a href="RewiredEditor.html#MouseMaps">Rewired Editor - Mouse Maps</a><br />
    <a href="RewiredEditor.html#CustomControllerMaps">Rewired Editor - Custom Controller Maps</a></p>
    <p><strong><a name="assigning-loading" id="creating-and-editing-controller-maps2"></a>Assigning/Loading Controller Maps:</strong></p>
    <p>When you create a Controller Map (Joystick Map, Keyboard Map, etc.) in the Rewired   Input Manager, you are defining a default Map that can be used by any Player. In   order for a Player to make use of a Controller Map, it must first be assigned to that   Player and enabled. You can assign the Controller Map in the <a href="RewiredEditor.html#Players">Rewired Input   Manager under the Players page</a>, and when the game starts and Rewired initializes, it will load the   map into the Player. You can also assign/load Controller Maps at runtime through scripting. <a href="HowTos.html#loading-controller-maps-runtime">See How To's - Loading Controller Maps at runtime</a> for more information.</p>
<div>
  <p><strong><a name="enabling-disabling" id="creating-and-editing-controller-maps3"></a>Enabling and Disabling Controller Maps:</strong></p>
  <p>Controller Maps can be enabled or disabled at will via scripting. This can be useful if you want to change game modes and have a different set of controls become active. For example, opening a menu screen. Disabled Controller Maps will not return any value when the Player is queried for an Action's input value. Controller Maps are stored in the <a href="https://guavaman.com/projects/rewired/docs/api-reference/?topic=html/T_Rewired_Player.htm">Player</a> class.</p>
  <p>For a Controller Map to be processed and contribute to input, it must be enabled. The starting enabled state of the map can be set in the <a href="RewiredEditor.html#Players">Rewired Input   Manager on the Players page</a> where you have assigned the Controller Maps to be   loaded at start. To enable or disable a Controller Map at runtime via scripting,   see <a href="HowTos.html#enabling-disabling-controller-maps">How To’s – Enabling and Disabling Controller Maps</a>.</p>
  <p>Individual Action Element Maps (Action bindings) in each Controller Map <a href="HowTos.html#enabling-disabling-action-element-maps">can also be enabled and disabled</a> via scripting.</p>
</div>
    <div></div>
    <p><strong><a name="joystick-maps" id="joystick-maps"></a>Joystick Maps:</strong></p>
<p>When a controller (excluding mouse and keyboard) is attached to the system, Rewired will attempt to identify that controller and load a hardware definition. When the Joystick is assigned to a Player, it will load Joystick Maps  into the Player if you have created any Joystick Maps in the <a href="RewiredEditor.html#JoystickMaps">Rewired Input Manager </a>that are compatible with that controller. (You can see the the <a href="SupportedControllers.html">current list of recognized controllers with extended support here</a>.)</p>
<p>If you want your players to be able to plugin in a controller and have it &quot;just work&quot;, you should create a Joystick Map for each controller you want to explicitly support. To save time, you can create a Joystick Map for a <a href="#controller-templates">Controller Template</a> that includes the controller you wish to support.</p>
<p>Joystick input returned by a Player is determined by the buttons and axes bound to Actions in one or more Joystick Maps assigned to a Player. When a button or axis is activated that is bound to an Action, the Player will return a value for that Action.  You create these maps in the Rewired Input Manager and assign them to each Player and they will be loaded at start. You can also enable, disable, remove, add,  load, and save Joystick Maps at runtime. </p>
<p>A joystick must be assigned to a Player,  have at least one Joystick Map with valid button/axis mappings assigned in that Player, and be enabled before any input will be returned through the Player.</p>
<p>How Joystick Maps are Loaded<br />
  Joystick Maps for a particular Joystick do not exist in the Player unless that Joystick is currently connected and assigned to that Player. By default, <a href="Controllers.html#joystick-assignment">Rewired auto-assigns Joysticks</a> to each Player as controllers are detected. The Joystick Maps are loaded at assignment time based on the settings defined in the <a href="RewiredEditor.html#Players">Rewired Input Manager - Player</a> page for that particular Player.</p>
<p><strong><a name="keyboard-maps" id="joystick-maps2"></a>Keyboard Maps</strong></p>
    <p>Keyboard input returned by a Player is determined by the keys bound to Actions in one or more Keyboard Maps assigned to a Player. When a key is pressed that is bound to an Action, the Player will return a value for that Action.  You create these maps in the Rewired Input Manager and assign them to each Player and they will be loaded at start. You can also enable, disable, remove, add,  load, and save Keyboard Maps at runtime. </p>
    <p>The keyboard is similar to a Joystick in that it must be assigned to a Player before you can receive input from it. (This can be set in the Rewired Input Manager or through the <a href="https://guavaman.com/projects/rewired/docs/api-reference/html/P_Rewired_Player_ControllerHelper_hasKeyboard.htm">player.controllers.hasKeyboard</a> property.) </p>
    <p><strong><a name="mouse-maps" id="joystick-maps3"></a>Mouse Maps</strong></p>
    <p>Mouse input returned by a Player is determined by the axes and buttons bound to Actions in one or more Mouse Maps assigned to a Player. When a button or axis is activated that is bound to an Action, the Player will return a value for that Action.  You create these maps in the Rewired Input Manager and assign them to each Player and they will be loaded at start. You can also enable, disable, remove, add,  load, and save Mouse Maps at runtime. </p>
    <p>The mouse is similar to a Joystick in that it must be assigned to a Player before you can receive input from it. (This can be set in the Rewired Input Manager or through the <a href="https://guavaman.com/projects/rewired/docs/api-reference/html/P_Rewired_Player_ControllerHelper_hasMouse.htm">player.controllers.hasMouse</a> property.) </p>
    <p><strong><a name="controller-templates" id="controller-templates"></a>Controller Templates:</strong></p>
    <p>A <a href="ControllerTemplates.html">Controller Template</a> represents a generalized controller layout that applies to all compatible controllers providing a common interface to work with these controllers. When you create a map for a Controller Template, any controller that implements the template will inherit that map automatically without the need for you to create a map specifically for that controller. For example, Rewired comes with a Gamepad Template. When you create a map for this Gamepad Template, you do not need to create individual maps specifically for any of the gamepads <a href="SupportedControllers.html">listed on this page</a> because they are all covered by the Gamepad Template. This makes is much quicker to create pre-defined Controller Maps for a huge variety of controllers. Additionally, as more controllers are added to the Template in the future, the map you've already created will work with these new controllers as well.</p>
    <p>Please see <a href="ControllerTemplates.html">Controller Templates</a> for detailed information.</p>
<p><strong><a name="controllers-without-templates" id="controllers-without-templates"></a>Controllers without Templates:</strong></p>
<p>For the other controllers that do not currently have Controller Templates,  you have to create a map for each you want supported out of the box (meaning you don't want the user to manually have to map them before playing). If you don't create a map and you want the user to be able to use that controller, you'll have to make a remapping screen where the user can map his controls manually (see <a href="HowTos.html#controller-mapping-screen">Creating a Controller Mapping Screen</a> for more information).</p>
    <p><strong><a name="unknown-controllers" id="unknown-controllers"></a>Unknown Controllers (Joysticks only):</strong></p>
    <p>For unrecognized controllers (<a href="SupportedControllers.html">controllers not listed here</a>), Rewired will use the Unknown Controller map (whether you define a map for this or not). This is a generic map that is just a sequential list of axes and buttons, each corresponding to an axis and button on the controller in the order they are defined by the controller hardware.  You should always provide the user with a way to remap controls so they can set up their unknown controllers how they see fit. See <a href="HowTos.html#controller-mapping-screen">Creating a Controller Mapping Screen</a> for more information.</p>
    <p>Note that even though a controller is unknown to Rewired, saved mapping data can still be saved and loaded for these controllers. This means that if your users make custom control mappings for unrecognized controllers, they can still save their configurations and continue off with the same controller layouts after quitting and restarting the game. All saving and loading of controller data is up to the developer to implement. See <a href="HowTos.html#saving-loading-controller-maps">Saving and Loading Controller Maps</a> for more information.</p>
    <p> It is recommended that you create an Unknown Controller map so unrecognized controllers can at least work to some degree immediately without manual user mapping. While there's no way for you to know which axis or button corresponds to which element on the controller the user plugs in, the following table shows the most common layout for unknown gamepads:</p>
    <table width="100%" border="0" style="font-size: 70%">
      <tr>
        <td><strong>Controller Element</strong></td>
        <td><strong>Maps To</strong></td>
      </tr>
      <tr>
        <td>Left Stick X</td>
        <td>Axis 0</td>
      </tr>
      <tr>
        <td>Left Stick Y</td>
        <td>Axis 1 (inverted)</td>
      </tr>
      <tr>
        <td>Right Stick X</td>
        <td>Axis 2</td>
      </tr>
      <tr>
        <td>Right Stick Y</td>
        <td>Axis 3 (inverted)</td>
      </tr>
      <tr>
        <td>Buttons</td>
        <td>Button 0-X</td>
      </tr>
      <tr>
        <td>D-Pad (optional)</td>
        <td>Hat 1</td>
      </tr>
  </table>
    <p></p>
    <p><strong><a name="xinput-devices-windows" id="xinput-devices-windows"></a>Special Considerations for XInput-compatible gamepads on Windows Standalone and Windows App Store</strong>:</p>
    <p>On Windows Standalone builds and in the Windows Unity Editor, when Use XInput is enabled (and Use Windows Gaming Input is disabled), and always on Windows App Store and Windows 10 Universal builds, Rewired uses XInput for all XInput-compatible controllers instead of the chosen primary input source. This has some implications on creating Joystick Maps:</p>
    <p>When using XInput, Rewired has no way of determining the actual controller type because this information is not available through XInput. The only information Rewired has to identify the controller is that it is XInput-compatible. Therefore, all XInput devices are treated as &quot;XBox 360 Controller&quot;. This means, with Use XInput enabled, if you plug in a XBox One Controller, Rewired cannot identify that it's an XBox One Controller and load the Joystick Maps you created specifically for the XBox One Controller. Instead, it identifies it simply as an &quot;XInput Gamepad&quot; and loads the Joystick Maps from the XBox 360 Controller maps you've created. This is an inherent limitation in XInput.</p>
    <p>Windows Gaming Input has fewer limitations and more features than XInput and can independently identify Xbox 360 and Xbox One controllers, so it is recommended to use <a href="RewiredEditor.html#settings-windows-use-windows-gaming-input">Windows Gaming Input</a> instead of XInput.</p>
    <p>But because Rewired has the Gamepad Template that is compatible with these controllers, it's easiest to just create a Gamepad Template Joystick Map instead and it will work for any XInput device when Use XInput or Use Windows Gaming Input is enabled. This way, you don't have to worry about making separate maps for XBox 360 Controller, XBox One Controller, etc. and everything will just work. This also works cross-platform.</p>
<p><strong><a name="mfi-gamepads" id="mfi-gamepads"></a>Special Considerations for MFI gamepads on iOS, tvOS, and OSX</strong>:</p>
    <p>Rewired supports many MFI gamepads on iOS, tvOS, and OSX. However, these platforms identify controllers differently so it affects which Joystick Maps are loaded.</p>
    <p><strong>iOS/tvOS</strong><br />
      All MFI-compatible gamepads are recognized simply as &quot;iOS MFI Gamepad&quot; and will load the &quot;iOS MFI Gamepad&quot; Joystick Maps you've created (if any). All MFI gamepads are supported. Joystick Maps created for specific controllers such as SteelSeries Nimbus will not be loaded and do not apply to iOS/tvOS.</p>
    <p><strong>OSX</strong><br />
If &quot;Use Game Controller Framework&quot; is enabled or the Primary Input Source is set to &quot;Game Controller&quot;, all gamepads that conform to to the Game Controller Framework &quot;Extended Gamepad&quot; profile (except those that have specific definitions) will be recognized as &quot;iOS MFI Gamepad&quot; and will load the &quot;iOS MFI Gamepad&quot; Joystick Maps. Controllers with specific definitions will not use the &quot;iOS MFI Gamepad&quot; definition but will instead use the specific controller defintion. Controllers with specific definitions include Xbox controllers, Sony Dual Shock 4, and Sony Dual Sense controllers.</p>
<p> If &quot;Use Game Controller Framework&quot; is disabled or a Primary Input Source that doesn't support the Game Controller Framework is in use, MFI-compatible gamepads cannot be automatically recognized as such and are identified on an individual basis like any other controller on OSX. Joystick Maps created for the specific controller will be loaded such as SteelSeries Nimbus. Joystick Maps created for the &quot;iOS MFI Gamepad&quot; will not be loaded on OSX.</p>
<p>In order to provide coverage for all supported MFI and other gamepads, simply create your Joystick Maps for the Gamepad Template and they will  work across platforms. By using the template, you don't have to worry about any of these platform-specific issues.    </p>
<p><strong><a name="how-input-is-processed" id="how-input-is-processed"></a>How Input Is Processed by Controller Maps:</strong></p>
    <p>This diagram illustrates how input received from controllers gets mapped to Actions by the Player class. 
      This diagram shows  one possible example of a more advanced input scheme that you can create with Rewired.</p>
    <p>The maps in this diagram are based on an input scheme which allows you to switch among various game modes. Only one game mode is active at any one time. The purpose for this is to
      allow for different control sets based on the current state of the game. For example, when the user opens a menu, the game mode would change to Menu and all
      maps with controls no longer valid in the Menu mode would be disabled. This is achieved through the use of <a href="MapCategories.html">Map Categories</a>. See <a href="HowTos.html#enabling-disabling-controller-maps">Enabling and Disabling Controller Maps</a> for information on how to manage game mode switching.</p>
    <ul>
      <li><strong>Gameplay Shared</strong> represent controls that are common to all gameplay modes: Infantry, Vehicle, and Airplane. This might include actions such as Fire.</li>
      <li> <strong>Vehicle</strong> represents controls specific to vehicle control.</li>
      <li> <strong>System</strong> represents system controls such as switching to Menu mode, Save, Load, Pause, etc.</li>
    </ul>
<p>In this example, the current game mode is <strong>Vehicle</strong>, so only maps in the categories Vehicle, Gameplay Shared, and System are currently active.</p>
    <p style="text-align: center"><img src="files/images/input-mapping-diagram-1.png" alt="Input Mapping Diagram" /></p>
    <hr />
    <p>&nbsp;</p>
    <p>The two diagrams below show how input from a source controller element is processed by the Controller Maps in Player, returning a result to the calling script. Note that some Controller Maps are disabled, while others are enabled (disabled maps are greyed out). When a Controller Map is disabled, input is not passed through.</p>
<p>&nbsp;</p>
    <p><img src="files/images/input-mapping-diagram-2.png" /></p>
    <p>&nbsp;</p>
    <hr />
    <p>&nbsp;</p>
    <p>This diagram shows in more detail the relationship of Players, Controllers, Controller Maps, Action Element Maps, Controller Elements, and Actions. Specifically, it shows how individual Action Element Maps in the Controller Map  serve to bind Actions to Controller elements.</p>
    <p>&nbsp;</p>
    <p><img src="files/images/input-mapping-diagram-3.png" /></p>
    <p>&nbsp;</p>
    <hr />
    <p>&nbsp;</p>
    <p><strong>Working with Controller Maps</strong></p>
<p><a href="HowTos.html#enabling-disabling-controller-maps">How To's - Enabling and Disabling Controller Maps<br />
</a><a href="HowTos.html#enabling-disabling-action-element-maps">How To's - Enabling and Disabling Action Element Maps</a><br />
  <a href="HowTos.html#managing-controller-maps-runtime">How To's - Managing Controller Maps at runtime</a><br />
  <a href="HowTos.html#saving-loading-controller-maps">How To's - Saving and Loading Controller Maps</a></p>
<p><strong>Loading Default Controller Maps</strong></p>
<p><a href="https://guavaman.com/projects/rewired/docs/api-reference/html/Overload_Rewired_Player_ControllerHelper_MapHelper_LoadMap.htm">player.controllers.maps.LoadMap</a><br />
  <a href="https://guavaman.com/projects/rewired/docs/api-reference/html/M_Rewired_Player_ControllerHelper_MapHelper_LoadDefaultMaps.htm">player.controllers.maps.LoadDefaultMaps</a></p>
<p><strong>See Also</strong></p>
    <p><a href="https://guavaman.com/projects/rewired/docs/api-reference/html/T_Rewired_JoystickMap.htm">API Reference - Joystick Map</a><br />
    <a href="https://guavaman.com/projects/rewired/docs/api-reference/html/T_Rewired_KeyboardMap.htm">API Reference - Keyboard Map</a><br />
    <a href="https://guavaman.com/projects/rewired/docs/api-reference/html/T_Rewired_MouseMap.htm">API Reference - Mouse Map</a><br />
    <a href="https://guavaman.com/projects/rewired/docs/api-reference/html/T_Rewired_CustomControllerMap.htm">API Reference - Custom Controller Map    </a></p>
    <div class="bottom-pager clearfix">
	    <a class="back-button" href="Controllers.html" title="Input Behaviors"><span class="button-img"></span>Controllers</a>
    	<a class="forward-button" href="ControllerTemplates.html" title="Map Categories"><span class="button-img"></span>Controller Templates</a>
	</div>
<!-- InstanceEndEditable -->
        </div>
        
    </div>
  <div class="footer clearfix">
   	<p class="left">Copyright &copy;2014-2021 <a href="https://guavaman.com" title="Guavaman Enterprises">Guavaman Enterprises</a>. All rights reserved. No materials may be reproduced without permission.</p>
  	<p class="right"><a href="https://guavaman.com/projects/rewired" title="Return to Rewired Website">Return to Rewired Website</a></p>
  </div>
  <!-- end .content --></div>
  <!-- end .container --></div>
  
  
</body>
<!-- InstanceEnd --></html>
